<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

    <!-- 为整个脚本（script标签）开启严格模式 -->
    <script>
        //ES5 之后增加了严格模式（strict mode）是采用具有限制性js变体的一种方式，即在严格的条件下运行js代码
        //严格模式在IE10以上版本的浏览器才会被支持，旧版本中会被忽略
        /*
        严格模式对正常的javascript语义做了一些更改：
            1.消除了JavaScript语法的一些不合理，不严谨之处，减少了一些怪异行为
            如变量不声明就可以直接赋值
            2.消除代码运行的一些不安全之处，保证代码运行的安全
            3.提高编译器效率，增加运行速度
            4.禁用了在ECMAScript的未来版本中可能会定义的一些语法，为未来
            新版本的javascript做好铺垫。比如:一些保留字段如：class、enum、export、extends
            import、super不能做变量名
        */

        /*严格模式可以应用到整个脚本和个别函数中。所以在使用时，我们可以将严格模式分为
        脚本开启严格模式和为函数开启严格模式两种情况*/
        'use strict'; //只要在js最上面写 'use strict'; 就是为整个脚本开启严格模式 
    </script>
    <script>
        (function(){
            'use strict';
        })()//在立即执行函数中写'use strict'; 也是为整个脚本开启严格模式
    </script>

    <!-- 为函数开启严格模式 -->
    <script>
        var fn =new function(){
            'use strict'//只需要把 'use strict'下载函数内部的最开始一行
        }
    </script>
</body>
</html>